package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.Menu;
import com.itheima.pojo.Role;

import java.util.List;
import java.util.Map;
import java.util.Set;

public interface RoleDao {
    Set<Role> findByUserId(Integer userId);
    //获取菜单集合
    Set<Menu> getMenus(String roleKey);
    //获取子级菜单
    List<Menu> getChildrenMenus(Integer parentMenuId);
    //获取所有角色信息
    List<Role> findAll();
    //获取角色信息
    Page<Role> selectByCondition(String queryString);
    //存储角色基本信息
    void saveRole(Role role);
    //存储角色与权限关联关系
    void saveRoleAndPer(Map map);
    //存储角色与菜单关联关系
    void saveRoleAndMenu(Map map);
    //先角色与权限关联关系
    void delRoleAndPer(Integer id);
    //先删除角色与菜单关联关系
    void delRoleAndMenu(Integer id);
    //删除角色基本信息
    void delete(Integer id);
    //回显基本角色数据
    Role findById(Integer id);
    //回显角色与权限的关联关系
    List<Integer> getRoleAndPermission(Integer id);
    //回显角色与菜单的关联关系
    List<Integer> getRoleAndMenu(Integer id);
    //修改角色基本信息
    void update(Role role);
}
